
_Move_Delay:
;Lcd.c,41 :: 		void Move_Delay() {                    // Function used for text moving
;Lcd.c,42 :: 		Delay_ms(500);                       // You can change the moving speed here
	MOV R5, 2
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	DJNZ R5, -11
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R6, 32
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R7, 134
	NOP
	DJNZ R7, -3
	NOP
	NOP
;Lcd.c,43 :: 		}
	RET
; end of _Move_Delay

_main:
	MOV 129, #128
;Lcd.c,45 :: 		void main(){
;Lcd.c,47 :: 		Lcd_Init();                        // Initialize LCD
	LCALL _Lcd_Init+0
;Lcd.c,48 :: 		Lcd_Cmd(LCD_CLEAR);                // Clear display
	MOV FARG_Lcd_Cmd+0+0, #1
	LCALL _Lcd_Cmd+0
;Lcd.c,49 :: 		Lcd_Cmd(LCD_CURSOR_OFF);           // Cursor off
	MOV FARG_Lcd_Cmd+0+0, #12
	LCALL _Lcd_Cmd+0
;Lcd.c,51 :: 		LCD_Out(1,6,txt3);                 // Write text in first row
	MOV FARG_LCD_Out+0+0, #1
	MOV FARG_LCD_Out+1+0, #6
	MOV FARG_LCD_Out+2+0, #_txt3+0
	LCALL _LCD_Out+0
;Lcd.c,52 :: 		LCD_Out(2,6,txt4);                 // Write text in second row
	MOV FARG_LCD_Out+0+0, #2
	MOV FARG_LCD_Out+1+0, #6
	MOV FARG_LCD_Out+2+0, #_txt4+0
	LCALL _LCD_Out+0
;Lcd.c,53 :: 		Delay_ms(2000);
	MOV R5, 8
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	DJNZ R5, -11
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R6, 130
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R7, 27
	NOP
	DJNZ R7, -3
	NOP
	NOP
;Lcd.c,54 :: 		Lcd_Cmd(LCD_CLEAR);                // Clear display
	MOV FARG_Lcd_Cmd+0+0, #1
	LCALL _Lcd_Cmd+0
;Lcd.c,56 :: 		LCD_Out(1,1,txt1);                 // Write text in first row
	MOV FARG_LCD_Out+0+0, #1
	MOV FARG_LCD_Out+1+0, #1
	MOV FARG_LCD_Out+2+0, #_txt1+0
	LCALL _LCD_Out+0
;Lcd.c,57 :: 		LCD_Out(2,4,txt2);                 // Write text in second row
	MOV FARG_LCD_Out+0+0, #2
	MOV FARG_LCD_Out+1+0, #4
	MOV FARG_LCD_Out+2+0, #_txt2+0
	LCALL _LCD_Out+0
;Lcd.c,58 :: 		Delay_ms(500);
	MOV R5, 2
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	DJNZ R5, -11
	MOV R6, 255
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R6, 32
	MOV R7, 255
	NOP
	DJNZ R7, -3
	DJNZ R6, -7
	MOV R7, 134
	NOP
	DJNZ R7, -3
	NOP
	NOP
;Lcd.c,62 :: 		for(i=0; i<4; i++) {               // Move text to the right 4 times
	MOV _i+0, #0
L_main0:
	CLR C
	MOV A, _i+0
	SUBB A, #4
	JNC L_main1
;Lcd.c,63 :: 		Lcd_Cmd(LCD_SHIFT_RIGHT);
	MOV FARG_Lcd_Cmd+0+0, #28
	LCALL _Lcd_Cmd+0
;Lcd.c,64 :: 		Move_Delay();
	LCALL _Move_Delay+0
;Lcd.c,65 :: 		}
L_main2:
;Lcd.c,62 :: 		for(i=0; i<4; i++) {               // Move text to the right 4 times
	INC _i+0
;Lcd.c,65 :: 		}
	SJMP L_main0
L_main1:
;Lcd.c,67 :: 		while(1) {                         // Endless loop
L_main3:
;Lcd.c,68 :: 		for(i=0; i<7; i++) {             // Move text to the left 7 times
	MOV _i+0, #0
L_main5:
	CLR C
	MOV A, _i+0
	SUBB A, #7
	JNC L_main6
;Lcd.c,69 :: 		Lcd_Cmd(LCD_SHIFT_LEFT);
	MOV FARG_Lcd_Cmd+0+0, #24
	LCALL _Lcd_Cmd+0
;Lcd.c,70 :: 		Move_Delay();
	LCALL _Move_Delay+0
;Lcd.c,71 :: 		}
L_main7:
;Lcd.c,68 :: 		for(i=0; i<7; i++) {             // Move text to the left 7 times
	INC _i+0
;Lcd.c,71 :: 		}
	SJMP L_main5
L_main6:
;Lcd.c,73 :: 		for(i=0; i<7; i++) {             // Move text to the right 7 times
	MOV _i+0, #0
L_main8:
	CLR C
	MOV A, _i+0
	SUBB A, #7
	JNC L_main9
;Lcd.c,74 :: 		Lcd_Cmd(LCD_SHIFT_RIGHT);
	MOV FARG_Lcd_Cmd+0+0, #28
	LCALL _Lcd_Cmd+0
;Lcd.c,75 :: 		Move_Delay();
	LCALL _Move_Delay+0
;Lcd.c,76 :: 		}
L_main10:
;Lcd.c,73 :: 		for(i=0; i<7; i++) {             // Move text to the right 7 times
	INC _i+0
;Lcd.c,76 :: 		}
	SJMP L_main8
L_main9:
;Lcd.c,78 :: 		}
	SJMP L_main3
;Lcd.c,79 :: 		}
	SJMP #254
; end of _main
